export default {
	install (Vue, options) {
		;(Vue.prototype.formatDate = function (tempTime) {
			// 时间格式转化  2019-09-09 00:00
			return tempTime.slice(0, 19).replace('T', ' ')
		}),
			(Vue.prototype.toPercent = function (num) {
				const strData = Number(num * 100).toFixed(2)
				const ret = `${strData.toString()}%`
				return ret
			}),
			(Vue.prototype.checkObj = function (obj) {
				const newObj = {}
				if (!(typeof obj === 'object')) {
					return
				}
				for (const key in obj) {
					// 如果对象属性的值不为空，就保存该属性（这里我做了限制，如果属性的值为0，保存该属性。如果属性的值全部是空格，属于为空。）
					if ((obj[key] === 0 || obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
						// 记录属性
						newObj[key] = obj[key]
					}
				}
				//  返回对象
				return newObj
			}),
			//  对象值初始化
			(Vue.prototype.setObjIntiVal = function (obj) {
				// 去除对象空值
				if (!(typeof obj === 'object')) {
					return
				}
				for (const key in obj) {
					if (obj.hasOwnProperty(key) && (obj[key] == undefined || obj[key] == '')) {
						obj[key] = '--'
					}
				}
				return obj
			}),
			(Vue.prototype.objUnique = function (arr) {
				// 去重
				const x = new Set(arr)
				return [
					...x
				]
			}),
			/**
     * 对象数组根据某key 去重
     * @param {*} arr 对象数组
     * @param {*} keyName 属性名
     */
			(Vue.prototype.duplicateObjArray = function (arr, keyName) {
				// 对象数组去重
				if (arr.length == 0) {
					return arr
				}
				else if (keyName) {
					const obj = {}
					const newArr = arr.reduce((cur, next) => {
						obj[next[keyName]] ? '' : (obj[next[keyName]] = true && cur.push(next))
						return cur
					}, [])
					return newArr
				}
				else {
					return Array.from(new Set(arr))
				}
			}),
			/**
			 * @param {array} 对象数组
			 * @param {keyName} 属性名
			 */
			(Vue.prototype.initArrayNumber = function (array, keyName, keyName2) {
				if (Array.isArray(array)) {
					array.forEach((item) => {
						item[keyName] = Math.round(item[keyName])
						item[keyName2] = Math.round(item[keyName2])
					})
					return array
				}
				else {
					console.log('is no array')
				}
			})
	}
}
